CLUE depends on a window system to provide programmer interfaces for controlling
interactive I/O hardware --- the display screen(s), the keyboard, the
pointer, etc. Specifically, CLUE is defined in
terms of the X Window System protocol[#x-protocol#<tex2html_cite_mark>#1##<tex2html_cite_mark>#] and CLX<A ID="131"><tex2html_anchor_invisible_mark></A>, the
Common Lisp programmer's interface to the X Window System[#clx#<tex2html_cite_mark>#1##<tex2html_cite_mark>#].
<P>
Most window systems, including X, contain a component that is commonly called the
<#133#><B>window manager</B><#133#><A ID="134"><tex2html_anchor_invisible_mark></A>. The window manager is the
part of the window system that provides a user interface to various operations on
windows --- changing a window's position, size, visibility, etc.
Since an X window manager is simply another application program (albeit a rather
specialized one), the
definition of a window manager is <#135#><EM>not</EM><#135#> included in the CLUE specification.
<P>
CLUE distinguishes two different aspects of programming the user
interface:
<P>
<UL>
<LI>Defining a contact
</LI>
<LI>Using a contact
</LI>
</UL>
The <#138#><B>application programmer</B><#138#><A ID="139"><tex2html_anchor_invisible_mark></A> who
instantiates and uses a contact object does not need to know
how the class and methods of the contact were implemented